The present disclosure relates to resource management solutions, and more specifically, to methods, systems and computer program products for a management system for resource management for untrusted programs.
Asynchronous events are events in applications that occur independently of the main program flow. Asynchronous actions are actions executed in a non-blocking scheme, allowing the main program flow to continue processing. A common problem with asynchronous events accessing a resource is that the resource may need to remain available for the life of the asynchronous event. For instance, in a computing environment, an I/O mechanism moving data from memory to disk (or vice versa) may be active but if the initiating programs release the memory backing the data, the results may become unpredictable. A trusted program may purge active operations and hold future operations to guarantee there are no active requests in flight. In other scenarios, untrusted programs may be insulated from being able to control the resources (e.g., a data move into trusted storage or by performing an operation to the memory on behalf of the caller) that prevents the untrusted program from freeing it.